home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / 4_0 / JS_MATH_ / JS_MATH_.H < prev    next >
Text File  |  1990-11-22  |  3KB  |  85 lines

  1. /* CONSTANTS */
  2.  
  3. #define JS_BESSEL_I    'I'
  4. #define JS_BESSEL_J    'J'
  5. #define JS_BESSEL_K    'K'
  6. #define JS_BESSEL_Y    'Y'
  7.  
  8. #define JS_PIdiv2        1.57079632679490
  9.  
  10. #define JS_RAD_PER_DEG    0.01745329251994        /* radians per degree */
  11. #define JS_DEG_PER_RAD    57.2957795130823        /* degrees per radian */
  12.  
  13.  
  14. /* MACROS */
  15.  
  16. #define JS_DEG_2_RAD(x)    ((x) * JS_RAD_PER_DEG)
  17. #define JS_RAD_2_DEG(x)    ((x) * JS_DEG_PER_RAD)
  18.  
  19.  
  20. /* STRUCTURES */
  21.  
  22. typedef struct JS_Phasor
  23. {
  24.     double    mag;
  25.     double    ang;    /* angle in radians */
  26. } JS_Phasor;
  27.  
  28.  
  29. /* PROTOTYPES */
  30.  
  31. double         JS_Dot_Product( double *, double *, short, short );
  32. void         JS_3_Space_Cross_Product( double *, double *, short );
  33. void         JS_3_Space_Cross_Product_No_Destroy( double *, double *, double *, short );
  34. double        JS_Factorial( short );
  35. double         JS_Factorial_Static( short );
  36. double         JS_Binomial_Coefficient( int, int );
  37. double         JS_Beta( double, double );
  38. double         JS_Gamma( double );
  39. double         JS_Gamma_P( double, double );
  40. double         JS_Gamma_Q( double, double );
  41. double         JS_Error_Func( double );
  42. double         JS_Comp_Error_Func( double );
  43. double         JS_Double_Factorial( short );
  44.  
  45. double         JS_Bessel( char, int, double );
  46.  
  47. double         JS_Legendre_Polynomial( int, int, double );
  48. double         JS_General_Elliptic_2( double, double, double, double );
  49. double         JS_General_Complete_Elliptic( double, double, double, double );
  50. double         JS_Jacobial_Elliptic_Sn( double, double );
  51. double         JS_Jacobial_Elliptic_Cn( double, double );
  52. double         JS_Jacobial_Elliptic_Dn( double, double );
  53.  
  54. char        JS_Math_Init(void);
  55. char         JS_Math_Init_Full(void);
  56. void         JS_Math_Release(void);
  57.  
  58. JS_Phasor     JS_Phasor_Add( JS_Phasor, JS_Phasor );
  59. JS_Phasor     JS_Phasor_Sub( JS_Phasor, JS_Phasor );
  60. JS_Phasor     JS_Phasor_Mult( JS_Phasor, JS_Phasor );
  61. JS_Phasor     JS_Phasor_Div( JS_Phasor, JS_Phasor );
  62. JS_Phasor     JS_Phasor_Num( double, double );
  63. JS_Phasor     JS_Double_Phasor_Mult( double, JS_Phasor );
  64. JS_Complex     JS_Phasor_To_Complex( JS_Phasor );
  65. JS_Phasor     JS_Complex_To_Phasor( JS_Complex );
  66. void         JS_Extract_Phasor( JS_Phasor , double *, double * );
  67. double         JS_Deg_2_Rad( double );
  68. double        JS_Rad_2_Deg( double );
  69.  
  70. double        JS_Cot( double, char * );
  71. double        JS_Csc( double, char * );
  72. double        JS_Sec( double, char * );
  73. double        JS_Sinh( double );
  74. double        JS_Cosh( double );
  75. double        JS_Tanh( double, char * );
  76. double        JS_Coth( double, char * );
  77. double        JS_Sech( double, char * );
  78. double        JS_Csch( double, char * );
  79. double        JS_Inv_Sinh( double );
  80. double        JS_Inv_Cosh( double, char * );
  81. double        JS_Inv_Tanh( double, char * );
  82. double        JS_Inv_Coth( double, char * );
  83. double        JS_Inv_Sech( double, char * );
  84. double        JS_Inv_Csch( double, char * );
  85.